#pragma once

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <stdbool.h>

typedef struct ListNode
{
	int data;
	struct ListNode* next;
	struct ListNode* prev;
}LTNode;

void Init(LTNode** pphead);

void Print(LTNode* phead);

bool Empty(LTNode* phead);

LTNode* BuyNode(int x);

void PushBack(LTNode* phead,int x);

void PushFront(LTNode* phead, int x);

void PopBack(LTNode* phead);

void PopFront(LTNode* phead);

void Insert(LTNode* pos, int x);

void Erase(LTNode* pos);